package com.book.model.dto;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @Author: 125715
 * @Package: com.book.model.dto
 * @Date: 2025/4/5 19:16
 * @Description: 添加书本信息-DTO
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Schema(name = "BookAddDTO对象", description = "添加书本信息")
public class BookAddDTO {

    @Schema(name = "书名")
    private String name;

    @Schema(name = "作者")
    private String author;

    @Schema(name = "介绍")
    private String introduction;

    @Schema(name = "新旧程度")
    private String bookCondition;


    @Schema(name = "金额")
    private BigDecimal price;

    @Schema(name = "是否可用积分兑换（0否1是）")
    private Integer isPoints;

    @Schema(name = "可兑换积分")
    private Integer points;

    @Schema(name = "书本类别ID")
    private String bookCategoryId;

    @Schema(name = "用户ID,来源")
    private String userId;


    @Schema(name = "书本图片")
    private String picture;

    @Schema(name = "0自1配")
    private Integer deliveryId;

    @Schema(name = "自提地址")
    private String place;

    @Schema(name = "原价")
    private BigDecimal originPrice;

    @ApiModelProperty("ISBN编号")
    private String isbn;

    @ApiModelProperty("出版社")
    private String publisher;

    @ApiModelProperty("出版地")
    private String publishLocation;

    @ApiModelProperty("出版时间")
    private Date publishDate;

    @ApiModelProperty("装帧方式")
    private String bindingType;

    @ApiModelProperty("开本")
    private String bookSize;

    @ApiModelProperty("页数")
    private Long pageSize;

    @ApiModelProperty("摘要")
    private String summary;

    @ApiModelProperty("印刷时间")
    private Date printDate;

    @ApiModelProperty("版次")
    private String edition;

    @ApiModelProperty("备注")
    private String remark;

    @ApiModelProperty("是否回收，0否1是")
    private Integer chooseReuse;

    @ApiModelProperty("上门回收地址ID")
    private String addressId;
}
